package com.bondqin.sakila.dao;

import java.math.BigDecimal;
import java.util.Date;

public interface CommonDao {

	/**
	 * function get_customer_balance
	 * @param customerId
	 * @param effectiveDate
	 * @return
	 */
	public BigDecimal getCustomerBalance(Integer customerId, Date effectiveDate);
	
	/**
	 * function inventory_held_by_customer
	 * @param customerId
	 * @param effectiveDate
	 * @return
	 */
	public Integer inventoryHeldByCustomer(Integer inventoryId);
	
	/**
	 * function inventory_in_stock
	 * @param customerId
	 * @param effectiveDate
	 * @return
	 */
	public Boolean inventoryInStock(Integer inventoryId);
	
	/**
	 * PROCEDURE film_in_stock	
	 * @param filmId
	 * @param storeId
	 * @return
	 */
	public Integer filmInStock(Integer filmId, Integer storeId);
	
	/**
	 * PROCEDURE film_not_in_stock	
	 * @param filmId
	 * @param storeId
	 * @return
	 */
	public Integer filmNotInStock(Integer filmId, Integer storeId);
	
	/**
	 * PROCEDURE rewards_report	
	 * @param filmId
	 * @param storeId
	 * @return
	 */
	public Integer rewardsReport(Integer minMonthlyPurchases, BigDecimal minDollarAmountPurchased);
}
